import datetime


class GetFilename:
    def __init__(self, prefix="", suffix=""):
        self.prefix = prefix
        self.suffix = suffix

    def get_formatted_time(self):
        """
        获取当前时间并格式化为指定字符串
        格式：年份后两位+月份+日期+小时+分钟+秒钟+毫秒(精确到十位)
        例如：22011221093325 表示2022年1月12日21时09分33秒250毫秒
        """
        # 获取当前时间，包含微秒
        now = datetime.datetime.now()
        
        # 格式化时间：年份后两位 + 月 + 日 + 时 + 分 + 秒 + 毫秒
        # 毫秒需要从微秒转换（取前二位）
        time_str = now.strftime("%y%m%d%H%M%S") + f"{now.microsecond // 10000:02d}"
        
        return time_str
    
    def get_filename(self, prefix="", suffix=""):
        if prefix == "":
            prefix = self.prefix
        if suffix == "":
            suffix = self.suffix
        name = prefix + self.get_formatted_time() + suffix
        return name

if __name__ == "__main__":
    # 示例用法
    while True:
        get_filename = GetFilename("recording_", ".wav")
        print(get_filename.get_filename())